package com.by.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

/**
 * (PurContract)实体类
 *
 * @author makejava
 * @since 2024-01-15 14:07:58
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("采购合同实体类")
@TableName("pur_contract")
public class PurContract implements Serializable {

    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 单据编号
     */
    @ApiModelProperty("单据编号")
    private String code;
    /**
     * 单据主题
     */
    @ApiModelProperty("单据主题")
    private String subject;
    /**
     * 来源类型： 1.无来源 2.采购申请 3.采购定价 4.项目档案
     */
    @ApiModelProperty("来源类型： 1.无来源 2.采购申请 3.采购定价 4.项目档案")
    private Integer sourceType;
    /**
     * 来源单据
     */
    @ApiModelProperty("来源单据")
    private String source;
    /**
     * 供应商编号
     */
    @ApiModelProperty("供应商编号")
    private String supCode;
    /**
     * 采购合同类别： 1.原材料采购 2.成品采购 3.软件采购 4.设备采购
     */
    @ApiModelProperty("采购合同类别： 1.原材料采购 2.成品采购 3.软件采购 4.设备采购")
    private Integer type;
    /**
     * 是否验货：0. 不需要建议 1.需要检验
     */
    @ApiModelProperty("是否验货：0. 不需要建议 1.需要检验")
    private int isIns;
    /**
     * 采购人员
     */
    @ApiModelProperty("采购人员")
    private String applicationUser;
    /**
     * 我方代表
     */
    @ApiModelProperty("我方代表")
    private String ourRepresent;
    /**
     * 对方代表
     */
    @ApiModelProperty("对方代表")
    private String oppRepresent;
    /**
     * 合同日期
     */
    @ApiModelProperty("合同日期")
    private Date date;
    /**
     * 制单日期
     */
    @ApiModelProperty("制单日期")
    private String docDate;
    /**
     * 制单人
     */
    @ApiModelProperty("制单人")
    private String doUser;
    /**
     * 关联项目
     */
    @ApiModelProperty("关联项目")
    private String pojoCode;
    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
     * 逻辑删除：0.未删除 1.已删除
     */
    @ApiModelProperty("逻辑删除：0.未删除 1.已删除")
    private int isdel;

    /**
     * 入库状态：
     * 1.全部
     * 2.未申请入库
     * 3.全部申请，未入库
     * 4.全部申请，部分入库
     * 5.部分申请，已入库
     * 6.部分申请，部分入库
     * 7.入库完毕
     */
    @ApiModelProperty("入库状态：1.全部 2.未申请入库 3.全部申请，未入库 4.全部申请，部分入库  5.部分申请，已入库 6.部分申请，部分入库 7.入库完毕")
    private  Integer InboundStatus;

    /**
     * 质检状态：
     * 1.部分
     * 2.未申请，未质检
     * 3.不需要质检
     * 4.全部申请，质检完毕
     * 5.全部申请，质检中
     * 6.部分申请，质检完毕
     * 7.部分申请，质检中
     */
    @ApiModelProperty("质检状态：1.部分 2.未申请，未质检 3.不需要质检 4.全部申请，质检完毕 5.全部申请，质检中6.部分申请，质检完毕 7.部分申请，质检中")
    private  Integer qualityStatus;
    /**
     * 状态
     */
    private Integer status;

    @TableField(exist = false)
    @ApiModelProperty("合同产品详细实体类")
    private List<PurContractDetails> purContractDetailsList;


}

